<@page title="BeanShell language" keywords="BSH, BeanShell">

<p>From the BeanShell documentation: <i>"BeanShell is a small, free, embeddable, Java source interpreter with object scripting language features, written in Java. BeanShell executes standard Java statements and expressions but also extends Java into the scripting domain with common scripting language conventions and syntax."</i> So if you know Java programming language, and already used some scripting languages, you will find it quite easy to learn and use. For more information, please visit: <a href="http://www.beanshell.org/">http://www.beanshell.org/</a></p>

<p>In FMPP, BeanShell is used for:
<ul>
  <li>Creating Java objects to be used in setting values. For example when the <@s>data</@s> setting used together with the <@c>eval</@c> data loader.
  <li>Pre-processing data for individual templates. See the <@s>localData</@s> setting and its <@c>bsh</@c> function.
  <li>Accessing Java classes and objects from FTL templates, using the <@c>pp.loadData</@c> directive with the <@c>eval</@c> data loader.
</ul>

</@page>
